非推奨の API は v3.7 以降削除されました
まとめ
Flutter に準拠して、非推奨ポリシー、 以降にサポートが終了した非推奨の API 3.7 安定版リリースは削除されました。
影響を受けるすべての API はこれにコンパイルされています 移行を支援する主要な情報源。あクイックリファレンスシートも利用可能です。
変更点
このセクションでは、影響を受けるクラスごとに非推奨をリストします。
GestureRecognizer.kind
サブクラスと
Flutter Fixによるサポート: はい
GestureRecognizer.kind
v2.3 で非推奨になりました。
使用GestureRecognizer.supportedDevices
その代わり。
これと同じ変更は、次のすべてのサブクラスに影響します。GestureRecognizer
:
EagerGestureRecognizer
ForcePressGestureRecognizer
LongPressGestureRecognizer
DragGestureRecognizer
VerticalDragGestureRecognizer
HorizontalDragGestureRecognizer
MultiDragGestureRecognizer
ImmediateMultiDragGestureRecognizer
HorizontalMultiDragGestureRecognizer
VerticalMultiDragGestureRecognizer
DelayedMultiDragGestureRecognizer
DoubleTapGestureRecognizer
MultiTapGestureRecognizer
OneSequenceGestureRecognizer
PrimaryPointerGestureRecognizer
ScaleGestureRecognizer
この変更により、複数のデバイスがジェスチャを認識できるようになりました。
単一のオプションよりもkind
提供された。
移行ガイド
移行前のコード:
var myRecognizer = GestureRecognizer(
kind: PointerDeviceKind.mouse,
);
移行後のコード:
var myRecognizer = GestureRecognizer(
supportedDevices: <PointerDeviceKind>[ PointerDeviceKind.mouse ],
);
参考文献
API ドキュメント:
GestureRecognizer
EagerGestureRecognizer
ForcePressGestureRecognizer
LongPressGestureRecognizer
DragGestureRecognizer
VerticalDragGestureRecognizer
HorizontalDragGestureRecognizer
MultiDragGestureRecognizer
ImmediateMultiDragGestureRecognizer
HorizontalMultiDragGestureRecognizer
VerticalMultiDragGestureRecognizer
DelayedMultiDragGestureRecognizer
DoubleTapGestureRecognizer
MultiTapGestureRecognizer
OneSequenceGestureRecognizer
PrimaryPointerGestureRecognizer
ScaleGestureRecognizer
関連する PR:
- で廃止されました#81858
- に削除されました#119572
ThemeData
accentColor
、accentColorBrightness
、accentColorTextTheme
、accentColorIconTheme
、 とbuttonColor
Flutter Fixによるサポート: はい
のaccentColor
、accentColorBrightness
、accentColorTextTheme
、accentColorIconTheme
、 とbuttonColor
の性質ThemeData
そうだった
v2.3 では非推奨になりました。
この変更はより適切に調整されましたThemeData
マテリアル デザイン ガイドラインを参照してください。また
コアの配色または
希望のスタイルに合わせた個々のコンポーネントのテーマ。
のaccentColorBrightness
、accentColorTextTheme
、accentColorIconTheme
、 とbuttonColor
フレームワークでは使用されなくなりました。
参照は削除する必要があります。
の用途ThemeData.accentColor
と置き換える必要がありますThemeData.colorScheme.secondary
。
移行ガイド
移行前のコード:
var myTheme = ThemeData(
//...
accentColor: Colors.blue,
//...
);
var color = myTheme.accentColor;
移行後のコード:
var myTheme = ThemeData(
//...
colorScheme: ColorScheme(
//...
secondary:Colors.blue,
//...
),
//...
);
var color = myTheme.colorScheme.secondary;
参考文献
API ドキュメント:
ThemeData
ColorScheme
関連する問題:
- #56639
- #84748
- #56918
- #91772
関連する PR:
以下で非推奨になりました:
- #92822
- #81336
- #85144
削除された場所:
- #118658
- #119360
- #120577
- #120932
AppBar
、SliverAppBar
、 とAppBarTheme
アップデート
Flutter Fixによるサポート: はい
v2.4 では、アプリ バー クラスとそのテーマにいくつかの変更が加えられました。 マテリアル デザインとの整合性が向上します。いくつかのプロパティはその時点で非推奨になりました 時間と削除されています。
ためにAppBar
、SliverAppBar
とAppBarTheme
:
-
brightness
が削除され、代わりにsystemOverlayStyle
-
textTheme
は削除され、次のいずれかに置き換えられますtoolbarTextStyle
またtitleTextStyle
。 -
backwardsCompatibility
これはこれらのプロパティの一時的な移行フラグであったため、削除できます。
さらに、AppBarTheme.color
削除されました、AppBarTheme.backgroundColor
その代替品として。
移行ガイド
移行前のコード:
var toolbarTextStyle = TextStyle(...);
var titleTextStyle = TextStyle(...);
AppBar(
brightness: Brightness.light,
textTheme: TextTheme(
bodyMedium: toolbarTextStyle,
titleLarge: titleTextStyle,
)
backwardsCompatibility: true,
);
AppBarTheme(color: Colors.blue);
移行後のコード:
var toolbarTextStyle = TextStyle(...);
var titleTextStyle = TextStyle(...);
AppBar(
systemOverlayStyle: SystemOverlayStyle(statusBarBrightness: Brightness.light),
toolbarTextStyle: toolbarTextStyle,
titleTextStyle: titleTextStyle,
);
AppBarTheme(backgroundColor: Colors.blue);
参考文献
API ドキュメント:
AppBar
SliverAppBar
AppBarTheme
関連する問題:
- #86127
- #70645
- #67921
- #67497
- #50606
- #51820
- #61618
以下で非推奨になりました:
- #86198
- #71184
削除された場所:
- #120618
- #119253
- #120575
SystemChrome.setEnabledSystemUIOverlays
Flutter Fixによるサポート: はい
v2.3では、SystemChrome.setEnabledSystemUIOVerlays
、静的メソッド
ステータス バーやナビゲーション バーなどのデバイス システム レベルのオーバーレイを設定する
を支持して非推奨になりましたSystemChrome.setEnabledSystemUIMode
。
この変更により、ネイティブと一致する共通のフルスクリーン モードをセットアップできるようになりました。 Android アプリはエッジ トゥ エッジのようなデザインです。
特定のモードを選択する代わりに、オーバーレイを手動で設定することは依然として可能です。
を通じてサポートされましたSystemUiMode.manual
、開発者が同じものを渡すことができるようにする
前と同様にオーバーレイのリスト。
移行ガイド
移行前のコード:
SystemChrome.setEnabledSystemUIOverlays(<SystemUiOverlay>[
SystemUiOverlay.top,
SystemUiOverlay.bottom,
]);
移行後のコード:
SystemChrome.setEnabledSystemUIMode(
SystemUiMode.manual,
overlays: <SystemUiOverlay>[
SystemUiOverlay.top,
SystemUiOverlay.bottom,
],
);
参考文献
API ドキュメント:
SystemChrome
関連する問題:
- #35748
- #40974
- #44033
- #63761
- #69999
以下で非推奨になりました:
- #81303
削除された場所:
- #11957
SystemNavigator.routeUpdated
Flutter Fixによるサポート: はい
v2.3では、SystemNavigator.routeUpdated
を支持して非推奨になりましたSystemNavigator.routeInformationUpdated
。
現在のルートに関してエンジンを更新する 2 つの方法がある代わりに、
変更により、すべてが 1 つの API に移動され、単一エントリが個別に選択されます。
履歴モードの場合Navigator
ルートが作成されたことを報告するもの。
移行ガイド
移行前のコード:
SystemNavigator.routeUpdated(routeName: 'foo', previousRouteName: 'bar');
移行後のコード:
SystemNavigator.routeInformationUpdated(location: 'foo');
参考文献
API ドキュメント:
SystemNavigator
関連する問題:
- #82574
以下で非推奨になりました:
- #82594
削除された場所:
- #119187
AnimatedSize.vsync
Flutter Fixによるサポート: はい
v2.2では、AnimatedSize.vsyc
廃止されました。この物件は廃止されました
その後に必要なAnimatedSize
に変換されましたStatefulWidget
だれのState
混ざっているSingleTickerProviderStateMixin
。記憶を修正するために変更が行われました
リーク。
の用途vsync
のように削除する必要がありますAnimatedSize
がこのプロパティを処理するようになりました。
移行ガイド
移行前のコード:
AnimatedSize(
vsync: this,
// ...
);
移行後のコード:
AnimatedSize(
// ...
);
参考文献
API ドキュメント:
AnimatedSize
以下で非推奨になりました:
- #80554
- #81067
削除された場所:
- #119186
タイムライン
安定版リリース: TBD